<?php
class NonegociablesController extends AppController {

	var $name = 'Nonegociables';	
	var $helpers = array('Access');

	function index() {
	//	Verificacion de sesion del sistema		
		if(!$this->Access->getMy('username')){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'convocatorias','action' => 'publicaciones'));
		}
		$this->Nonegociable->recursive = 0;
		$this->set('Nonegociables', $this->paginate());
	}

	function view($id = null) {
	//	Verificacion de sesion del sistema		
		if(!$this->Access->getMy('username')){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'convocatorias','action' => 'publicaciones'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid Nonegociable', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('Nonegociable', $this->Nonegociable->read(null, $id));
	}

	function add($convocatoria = null) {
	//	Verificacion de sesion del sistema		
		if(!$this->Access->getMy('username')){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'convocatorias','action' => 'publicaciones'));
		}
		if (!empty($this->data)){
			$form = $this->data; $i=0; $guardado = true;
			$puntaje_experiencia = 0;
			//die(var_dump($form));
			foreach ($form['preguntas'] as $pregunta){
				if($guardado){
					$registro['Nonegociable'] = array('user_id'=>$form['Nonegociable']['user_id'], 
												'pruebarequerida_id'=>$pregunta, 'convocatoria_id'=>$form['Nonegociable']['convocatoria_id'],
												'respuesta'=>$form['puntajes'][$i]*6);
					$this->Nonegociable->create();
					if(!$this->Nonegociable->save($registro))
						$guardado=false;					
					$i++;
				}
			}
			
			if($guardado){
				$this->Session->setFlash(__('Prueba Preliminar Guardada', true));				
				$this->redirect(array('controller'=>'postulados','action' => 'add',$form['Nonegociable']['convocatoria_id'],true));
			}else{
				$this->Session->setFlash(__('Evaluaci&oacute;n no guardada', true));
			}
		}
		$convocatoria_activa = $this->Nonegociable->Postulado->Convocatoria->find('first',array('fields'=>array('Convocatoria.perfile_id'),'conditions'=>array('Convocatoria.id'=>$convocatoria)));
		$perfil = $this->Nonegociable->Postulado->Convocatoria->Perfile->find('first',array('fields'=>array('Perfile.cargo'),'conditions'=>array('Perfile.id'=>$convocatoria_activa['Convocatoria']['perfile_id'])));
		$preguntas = $this->Nonegociable->Pruebarequerida->find('all',array('conditions'=>array('Pruebarequerida.perfile_id'=>$convocatoria_activa['Convocatoria']['perfile_id'])));
		$this->set(compact('convocatoria_activa', 'perfil', 'preguntas'));
	}

	function edit($id = null) {
	//	Verificacion de sesion del sistema		
		if(!$this->Access->getMy('username')){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'convocatorias','action' => 'publicaciones'));
		}
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid Nonegociable', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)){
			if ($this->Nonegociable->save($this->data)) {
				$this->Session->setFlash(__('The Nonegociable has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The Nonegociable could not be saved. Please, try again.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Nonegociable->read(null, $id);
		}
		$postulados = $this->Nonegociable->Postulado->find('list');
		$responsabilidades = $this->Nonegociable->Responsabilidade->find('list');
		$this->set(compact('postulados', 'responsabilidades'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for Nonegociable', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Nonegociable->delete($id)) {
			$this->Session->setFlash(__('Nonegociable deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Nonegociable was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
}
?>